@charset "UTF-8";
/* CSS Document */
/* =========================================================
  作品詳細
========================================================= */
/*
  作品詳細ヘッダー
    - 作品詳細レイアウト
    - 作品タイトル
    - ヘッダー基本情報（左カラム）
    - ヘッダー基本情報（右カラム）
    - プロテクトなどの動作環境
    - 体験版ファイルダウンロード

  作品購入エリア
    - キャンペーン
    - 販売価格・ポイント
    - ボタン
    - 予告
    - クーポンなどの特典表示
    - 閲覧可能な環境
    - パックの小作品詳細ページに表示する親パックリスト
    - その他

  作品詳細：カスタムパーツ
    - サークルキャンペーン
    - CG一覧
    - トラックリスト
    - 1行紹介リスト
    - 作品内容
    - キャラクター紹介
    - 1枚画像説明
    - 複数画像説明
    - 動作環境
    - バージョンアップ情報
    - サークル作品情報 / 関連作品情報 / こちらの作品も購入されています
    - レコメンド回転

  右カラム構成
    - 同一サークル作品
    - シリーズ

  サークル管理表示確認
*/
/* =========================================================
  作品詳細ヘッダー
========================================================= */
/* 作品詳細レイアウト
--------------------------------------------------------- */
div#work_header {
  width: 100%;
  margin-bottom: 20px;
}

div#work_header:after {
  display: block;
  clear: both;
  content: "";
}

@media screen and (max-width: 1079px) {
  div#work_left {
    width: 100%;
  }
}

@media screen and (min-width: 1080px) {
  div#work_left {
    float: left;
    width: 50%;
    min-width: 600px;
  }
}

div#work_right {
  margin-left: calc(50% + 20px);
}

@media screen and (max-width: 1479px) {
  div#work_right {
    margin-left: 620px;
  }
}

@media screen and (max-width: 1079px) {
  div#work_right {
    margin: 20px 0 0;
    clear: both;
  }
}

div#work_right_inner {
  width: 100%;
}

/* 作品タイトル
--------------------------------------------------------- */
div.base_title_br {
  line-height: 1.3;
  margin-bottom: 10px;
  padding: 0 0 8px;
}

div.base_title_br:after {
  display: block;
  clear: both;
  content: "";
}

div.base_title_br h1 {
  margin-right: 190px;
}

h1#work_name {
  float: none;
  color: #333;
  font-size: 20px;
  font-weight: bold;
  padding: 0;
  background: none;
}

h1#work_name a {
  display: block;
  width: 100%;
  color: #333;
  text-decoration: none;
}

h1#work_name .icon_lead_01 {
  font-size: 14px;
  height: 17px;
  line-height: 19px;
  padding: 0 4px;
  margin: 0 4px 2px 0;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

h1#work_name .icon_lead_01:last-of-type {
  margin-right: 5px;
}

h1#work_name .campaign_name {
  color: #c00;
}

/* ヘッダー基本情報（左カラム）
--------------------------------------------------------- */
table#work_value {
  width: 100%;
}

table#work_value td {
  height: 28px;
  line-height: 28px;
  white-space: nowrap;
}

table#work_value td.work_rankin {
  height: 28px;
  padding-left: 3px;
}

table#work_value td.work_rankin table {
  margin: 0 auto 0 0;
}

table#work_value td.work_rankin table td {
  height: 28px;
  line-height: 28px;
}

table#work_value td.work_dl {
  width: 30px;
  padding-left: 12px;
}

table#work_value td.work_dl div {
  height: 28px;
  line-height: 28px;
  text-align: right;
  white-space: nowrap;
}

table#work_value td[class*="work_hyouka_"],
table#work_value td.work_review {
  width: 30px;
  padding-left: 6px;
}

table#work_value td[class*="work_hyouka_"] > div,
table#work_value td.work_review > div {
  padding-left: 23px;
  white-space: nowrap;
}

table#work_value td[class*="work_hyouka_"] > div {
  cursor: default;
}

table#work_value td.work_hyouka_1 > div {
  background: url(../images/web/abroad/icon_hyouka_01.png) left center no-repeat;
  padding-left: 17px;
}

table#work_value td.work_hyouka_2 > div {
  background: url(../images/web/abroad/icon_hyouka_02.png) left center no-repeat;
  padding-left: 32px;
}

table#work_value td.work_hyouka_3 > div {
  background: url(../images/web/abroad/icon_hyouka_03.png) left center no-repeat;
  padding-left: 47px;
}

table#work_value td.work_hyouka_4 > div {
  background: url(../images/web/abroad/icon_hyouka_04.png) left center no-repeat;
  padding-left: 62px;
}

table#work_value td.work_hyouka_5 > div {
  background: url(../images/web/abroad/icon_hyouka_05.png) left center no-repeat;
  padding-left: 77px;
}

table#work_value td.work_review div {
  background: url(../images/web/home/icon_review.png) left center no-repeat;
  padding-left: 25px;
}

table#work_value td.work_add_favo {
  text-align: right;
}

/* ヘッダー基本情報（右カラム）
--------------------------------------------------------- */
/* ----- メーカー名 ----- */
#work_right_name {
  padding: 28px 0 2px;
  border-bottom: 1px dashed #999;
}

@media screen and (max-width: 1179px) {
  #work_right_name {
    padding: 0 0 2px;
  }
}

table#work_maker {
  font-size: 13px;
  line-height: 1.4;
}

table#work_maker th,
table#work_maker td {
  line-height: 1.5;
  vertical-align: top;
  padding: 0 0 4px 0;
}

table#work_maker th {
  min-width: 100px;
  padding: 0 6px 0 0;
  box-sizing: border-box;
  white-space: nowrap;
  text-align: right;
}

table#work_maker th::after {
  display: inline-block;
  margin-left: 4px;
  font-size: 12px;
  content: "\3a";
}

table#work_maker span.maker_name {
  font-weight: bold;
}

table#work_maker span.maker_name a {
  color: #039;
}

table#work_maker span.maker_name a:visited,
table#work_maker span.maker_name a:hover {
  color: #639;
}

table#work_maker span.author_name {
  font-weight: bold;
}

table#work_maker span.author_role {
  font-size: 11px;
  padding-left: 3px;
}

/* ----- その他詳細情報 ----- */
table#work_outline {
  font-size: 13px;
  line-height: 1.4;
}

table#work_outline th {
  min-width: 100px;
  padding: 0 6px 0 0;
  box-sizing: border-box;
}

table#work_outline th::after {
  display: inline-block;
  margin-left: 4px;
  font-size: 12px;
  content: "\3a";
}

table#work_outline div.main_genre > a:not(:last-child) {
  margin-right: 10px;
}

table#work_outline div.work_genre {
  margin: 1px 0 1px;
}

/* ----- 特設バナー ----- */
#work_right > a,
#work_streaming a {
  margin-top: 10px;
}

#work_right > a img,
#work_streaming a img {
  width: 300px;
  height: auto;
}

/* プロテクトなどの動作環境
--------------------------------------------------------- */
.work_feature {
  font-size: 0;
}

.work_feature > li {
  display: table;
  margin: 10px 10px 0 0;
  vertical-align: top;
}

/* ----- プロテクト ----- */
#work_protect {
  border: 1px solid #97bf8f;
  padding: 6px 8px 6px 33px;
  background: url(../images/web/home/icon_protect.png) no-repeat 6px 8px #effaed;
}

#work_protect strong {
  color: #588c4d;
  font-size: 12px;
  display: block;
  padding-bottom: 3px;
}

#work_protect span {
  font-size: 11px;
  line-height: 1.4;
}

/* ----- 専用 ----- */
#work_only,
#work_touch_only,
#work_win_only {
  line-height: 1.5;
  border: 1px solid #f38597;
  padding: 6px 8px 6px 33px;
}

#work_only strong,
#work_touch_only strong,
#work_win_only strong {
  color: #d94c63;
  font-size: 12px;
  display: block;
  padding-bottom: 3px;
}

#work_only span,
#work_touch_only span,
#work_win_only span {
  font-size: 12px;
  line-height: 1.4;
}

#work_win_only strong {
  padding-bottom: 0;
}

/* Adobe Reader */
p.adobe_r_btn {
  margin: 5px 0 3px;
}

/* ソフ倫マーク */
div.sof_seal img {
  float: left;
}

div.sof_seal p {
  padding: 6px 0 0 6px;
  margin-left: 65px;
}

/* 対応OS */
div.work_os {
  line-height: 1.5;
}

/*  スマホ専用アイコン  */
#work_only.touch,
#work_touch_only {
  background: url(../images/web/common/icon_touch_only.png) no-repeat 8px 8px #fff2f2;
}

/*  MAC非対応アイコン  */
#work_win_only {
  background: url(../images/web/common/icon_attention_01.png) no-repeat 8px 8px #fff2f2;
}

/*  VR専用アイコン  */
#work_only.vr {
  border: 1px solid #f38597;
  padding: 6px 8px 6px 45px;
  background: url(../images/web/common/icon_vr.png) no-repeat 8px 8px #fff2f2;
}

/* ----- VR対応 ----- */
#work_vr {
  border: 1px solid #1e8acc;
  padding: 6px 8px 6px 45px;
  background: url(../images/web/common/icon_vr.png) no-repeat 8px 8px #befbed;
}

#work_vr strong {
  color: #1e8acc;
  font-size: 12px;
  display: block;
  padding-bottom: 3px;
}

#work_vr span {
  font-size: 12px;
  line-height: 1.4;
}

/* 体験版ファイルダウンロード
--------------------------------------------------------- */
div.trial_download {
  margin-top: 15px;
}

div.trial_download ul:not(:first-child) {
  margin-top: 8px;
}

div.trial_download ul > li:not(:first-child) {
  margin-top: 8px;
}

div.trial_download ul > li p.trial_file,
div.trial_download ul > li p.demo_file,
div.trial_download ul > li p.other_file {
  float: left;
  margin-right: 10px;
}

div.trial_download ul span {
  display: table-cell;
  height: 30px;
  vertical-align: middle;
}

p.trial_file,
p.demo_file,
p.other_file {
  display: inline-block;
  width: 180px;
  height: 30px;
}

p.trial_file:last-child,
p.demo_file:last-child,
p.other_file:last-child {
  margin-bottom: 0;
}

p.trial_file a,
p.demo_file a,
p.other_file a {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 4px;
  border: solid 1px #c00;
  box-sizing: border-box;
  border-color: #d99816;
  background: #f2aa18;
  background: -webkit-linear-gradient(top, #fc3 0%, #f2aa18 100%);
  background: linear-gradient(to bottom, #fc3 0%, #f2aa18 100%);
  color: #333;
  text-align: center;
  font-size: 12px;
  line-height: 30px;
}

p.trial_file a:hover,
p.demo_file a:hover,
p.other_file a:hover {
  border-color: #c28713;
  background: #e49c0d;
  background: -webkit-linear-gradient(top, #ffc61a 0%, #e49c0d 100%);
  background: linear-gradient(to bottom, #ffc61a 0%, #e49c0d 100%);
  text-decoration: none;
}

p.trial_file a::before,
p.demo_file a::before,
p.other_file a::before {
  display: inline-block;
  margin-right: 8px;
  font-family: "dlsite-icons";
  font-size: 14px;
  vertical-align: middle;
  content: "\e901";
}

/* =========================================================
  作品購入エリア
========================================================= */
div#work_buy_box_wrapper {
  margin: 0 auto 10px;
  border: 1px solid #b8c3d9;
  border-radius: 5px;
  background: #e6eaf2;
  font-size: 12px;
}

div.work_buy_main {
  border: 1px solid #b8c3d9;
  border-radius: 4px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  margin: 5px;
  padding-bottom: 10px;
  background: #fff;
}

/* 販売価格・ポイント・レンタル
--------------------------------------------------------- */
div#work_price {
  margin: 0 0 10px;
  color: #333;
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
}

.work_buy_type {
  padding-top: 10px;
}

.work_buy_type.choice,
.work_buy_type.download {
  border-bottom: 1px dotted #b8c3d9;
  padding: 5px 0;
}

.work_buy_type.choice {
  cursor: pointer;
}

.work_buy_type.not_select {
  padding: 0;
}

.work_buy_type:first-child {
  border-radius: 3px 3px 0 0;
}

.work_buy_type.select {
  background: #fff9d9;
}

.work_buy_type.disabled {
  background: #fafafa;
  cursor: default;
}

.work_buy_type .type_label {
  margin: 4px 3px;
}

.work_buy_type input[type="radio"] {
  display: none;
}

.work_buy_type input[type="radio"] + label {
  font-size: 13px;
  font-weight: bold;
  color: #333;
  position: relative;
}

.work_buy_type input[type="radio"]:checked + label {
  color: #e58600;
}

.work_buy_type input[type="radio"]:disabled + label {
  color: #999;
  cursor: default;
}

.work_buy_type input[type="radio"] + label::before {
  display: inline-block;
  content: "";
  height: 14px;
  width: 14px;
  border: 1px solid #9d9d9d;
  border-radius: 50%;
  background: #fff;
  vertical-align: middle;
  margin: 0 5px;
}

.work_buy_type input[type="radio"] + label::after {
  position: absolute;
  display: block;
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  left: 9px;
  top: 50%;
  margin-top: -4px;
}

.work_buy_type input[type="radio"]:checked + label::after {
  background: #e58600;
}

.work_buy_type input[type="radio"]:disabled + label::before {
  border: 1px solid #ccc;
}

.work_buy_type p.label_static {
  margin: 10px 10px 0;
  font-size: 13px;
  font-weight: bold;
}

.work_buy_type.choice p.label_static {
  margin-top: 0;
}

.work_buy_type.download p.label_static {
  margin: 4px 10px 0;
}

.work_buy_body .guide_rental {
  border-radius: 3px;
  background: #eee;
  padding: 8px;
  font-size: 11px;
}

.work_buy_container {
  margin: 0 10px 10px;
}

.work_buy_type .work_buy_container {
  margin: 0 10px;
}

.work_buy_container .work_buy_body {
  line-height: 1.2;
}

.work_buy_container .work_buy_message {
  border: 1px solid #f38597;
  margin-bottom: 5px;
  padding: 5px;
  background: #fff2f2;
  color: #d94c63;
  font-size: 11px;
  font-weight: bold;
  line-height: 1.4;
  text-align: center;
}

.work_buy_container .work_buy_body:not(:first-child) {
  margin: 3px 0 0;
}

.work_ana .work_buy_container .work_buy_body:not(:first-child) {
  margin: 8px 0 0;
}

.work_buy_container .work_buy_label {
  display: table-cell;
  position: relative;
  color: #4d628c;
  font-size: 13px;
  font-weight: normal;
  vertical-align: middle;
  white-space: nowrap;
  line-height: 1.2;
}

.work_buy_container .work_buy_label:after {
  content: ":";
  padding-left: 2px;
}

.work_ana .work_buy_container .work_buy_label {
  display: block;
  text-align: center;
}

.work_buy_container .work_buy_content {
  display: table-cell;
  width: 100%;
  text-align: right;
}

.work_ana .work_buy_container .work_buy_content {
  display: block;
  padding: 5px 0 0;
  text-align: center;
}

.work_buy_container .work_buy_body i {
  padding-left: 3px;
  font-size: 0.9em;
  font-style: normal;
}

/* ----- 価格・ポイント・レンタル期間 ----- */
div#work_price .price {
  display: inline-block;
  color: #c00;
  font-size: 18px;
  font-weight: bold;
}

div#work_price .work_buy_type.choice.disabled .price,
div#work_price .work_buy_type.choice.disabled .rental_period {
  color: #999;
}

.work_ana div#work_price .price {
  display: block;
  text-align: center;
}

div#work_price .work_estimation {
  display: block;
  padding: 0 0 3px;
  font-size: 12px;
  font-weight: normal;
  font-style: normal;
}

div#work_price .work_jpy {
  display: block;
  padding: 0;
  font-size: 12px;
  font-weight: normal;
  color: #333;
  font-style: normal;
}

div#work_price .work_date_ana {
  display: inline-block;
  color: #930;
  font-size: 16px;
  font-weight: bold;
}

div#work_price .discount_rate {
  display: block;
  margin-top: -2px;
  font-size: 12px;
  line-height: 1;
}

div#work_price .work_point {
  display: inline-block;
  color: #093;
  font-size: 13px;
}

div#work_price .point_up {
  display: inline-block;
  color: #093;
  font-size: 13px;
  font-weight: bold;
}

div#work_price .strike {
  color: #333;
  font-size: 14px;
  font-weight: normal;
}

div#work_price .rental_period {
  display: inline-block;
  color: #333;
  font-size: 16px;
  font-weight: bold;
}

div#work_price .rental_period select {
  padding: 3px 5px;
  border: 1px solid #bbb;
  border-radius: 3px;
}

div#work_price .rental_period select:disabled {
  background: #eee;
  color: #999;
}

/* セール情報
--------------------------------------------------------- */
.work_buy_main .campaign_info {
  margin: -5px 5px 7px;
}

.work_buy_main .choice .campaign_info {
  margin: 0 5px 0;
}

.work_buy_main .label_static + .campaign_info {
  margin: 3px 5px 0;
}

.work_buy_main .campaign_info p {
  box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.2);
  position: relative;
  border-radius: 3px;
  margin-bottom: 4px;
  font-size: 13px;
  font-weight: bold;
  color: #fff;
  text-align: center;
}

.work_buy_main .campaign_info p.type_sale {
  background: #c00;
  background: -webkit-linear-gradient(45deg, rgba(255,255,255,0.18) 0, rgba(255,255,255,0.18) 25%, rgba(0,0,0,0) 25%, rgba(0,0,0,0) 50%, rgba(255,255,255,0.18) 50%, rgba(255,255,255,0.18) 75%, rgba(0,0,0,0) 75%, rgba(0,0,0,0) 100%, rgba(0,0,0,0) 100%, rgba(0,0,0,0) 100%, rgba(0,0,0,0), rgba(0,0,0,0) 100%), #c00;
  background: -moz-linear-gradient(45deg, rgba(255,255,255,0.18) 0, rgba(255,255,255,0.18) 25%, rgba(0,0,0,0) 25%, rgba(0,0,0,0) 50%, rgba(255,255,255,0.18) 50%, rgba(255,255,255,0.18) 75%, rgba(0,0,0,0) 75%, rgba(0,0,0,0) 100%, rgba(0,0,0,0) 100%, rgba(0,0,0,0) 100%, rgba(0,0,0,0), rgba(0,0,0,0) 100%), #c00;
  background: linear-gradient(45deg, rgba(255,255,255,0.18) 0, rgba(255,255,255,0.18) 25%, rgba(0,0,0,0) 25%, rgba(0,0,0,0) 50%, rgba(255,255,255,0.18) 50%, rgba(255,255,255,0.18) 75%, rgba(0,0,0,0) 75%, rgba(0,0,0,0) 100%, rgba(0,0,0,0) 100%, rgba(0,0,0,0) 100%, rgba(0,0,0,0), rgba(0,0,0,0) 100%), #c00;
  background-size: 20px 20px;
}

.work_buy_main .campaign_info p.type_point {
  background: #093;
  background: -webkit-linear-gradient(45deg, rgba(255,255,255,0.12) 0, rgba(255,255,255,0.12) 25%, rgba(0,0,0,0) 25%, rgba(0,0,0,0) 50%, rgba(255,255,255,0.12) 50%, rgba(255,255,255,0.12) 75%, rgba(0,0,0,0) 75%, rgba(0,0,0,0) 100%, rgba(0,0,0,0) 100%, rgba(0,0,0,0) 100%, rgba(0,0,0,0), rgba(0,0,0,0) 100%), #093;
  background: -moz-linear-gradient(45deg, rgba(255,255,255,0.12) 0, rgba(255,255,255,0.12) 25%, rgba(0,0,0,0) 25%, rgba(0,0,0,0) 50%, rgba(255,255,255,0.12) 50%, rgba(255,255,255,0.12) 75%, rgba(0,0,0,0) 75%, rgba(0,0,0,0) 100%, rgba(0,0,0,0) 100%, rgba(0,0,0,0) 100%, rgba(0,0,0,0), rgba(0,0,0,0) 100%), #093;
  background: linear-gradient(45deg, rgba(255,255,255,0.12) 0, rgba(255,255,255,0.12) 25%, rgba(0,0,0,0) 25%, rgba(0,0,0,0) 50%, rgba(255,255,255,0.12) 50%, rgba(255,255,255,0.12) 75%, rgba(0,0,0,0) 75%, rgba(0,0,0,0) 100%, rgba(0,0,0,0) 100%, rgba(0,0,0,0) 100%, rgba(0,0,0,0), rgba(0,0,0,0) 100%), #093;
  background-size: 20px 20px;
}

.work_buy_main .campaign_info p.type_rental {
  background: #fe7d00;
  background: -webkit-linear-gradient(45deg, rgba(255,255,255,0.1) 0, rgba(255,255,255,0.1) 25%, rgba(0,0,0,0) 25%, rgba(0,0,0,0) 50%, rgba(255,255,255,0.1) 50%, rgba(255,255,255,0.1) 75%, rgba(0,0,0,0) 75%, rgba(0,0,0,0) 100%, rgba(0,0,0,0) 100%, rgba(0,0,0,0) 100%, rgba(0,0,0,0), rgba(0,0,0,0) 100%), #fe7d00;
  background: -moz-linear-gradient(45deg, rgba(255,255,255,0.1) 0, rgba(255,255,255,0.1) 25%, rgba(0,0,0,0) 25%, rgba(0,0,0,0) 50%, rgba(255,255,255,0.1) 50%, rgba(255,255,255,0.1) 75%, rgba(0,0,0,0) 75%, rgba(0,0,0,0) 100%, rgba(0,0,0,0) 100%, rgba(0,0,0,0) 100%, rgba(0,0,0,0), rgba(0,0,0,0) 100%), #fe7d00;
  background: linear-gradient(45deg, rgba(255,255,255,0.1) 0, rgba(255,255,255,0.1) 25%, rgba(0,0,0,0) 25%, rgba(0,0,0,0) 50%, rgba(255,255,255,0.1) 50%, rgba(255,255,255,0.1) 75%, rgba(0,0,0,0) 75%, rgba(0,0,0,0) 100%, rgba(0,0,0,0) 100%, rgba(0,0,0,0) 100%, rgba(0,0,0,0), rgba(0,0,0,0) 100%), #fe7d00;
  background-size: 20px 20px;
}

.work_buy_main .campaign_info p > span,
.work_buy_main .campaign_info p a > span {
  display: inline-block;
  padding: 4px 0;
}

#right .work_buy_main .campaign_info p a {
  display: block;
  color: #fff;
  text-decoration: none;
}

.work_buy_main .campaign_info p.type_sale span,
.work_buy_main .campaign_info p.type_sale a span {
  text-shadow: 2px 2px 2px #c00, 2px -2px 2px #c00, -2px 2px 2px #c00, -2px -2px 2px #c00;
}

.work_buy_main .campaign_info p.type_point span {
  text-shadow: 2px 2px 2px #093, 2px -2px 2px #093, -2px 2px 2px #093, -2px -2px 2px #093;
}

.work_buy_main .campaign_info p.type_rental span {
  text-shadow: 2px 2px 2px #fe7d00, 2px -2px 2px #fe7d00, -2px 2px 2px #fe7d00, -2px -2px 2px #fe7d00;
}

.work_buy_main .campaign_info p span.period {
  padding-left: 5px;
  font-size: 12px;
  font-weight: bold;
  color: #fff;
  display: block;
  margin-top: -2px;
}

.work_buy_main .campaign_info p.type_rental span.period {
  display: block;
}

.work_buy_main .campaign_info p a > span::after {
  content: "";
  display: inline-block;
  margin-left: 5px;
  background: url(../images/web/common/icon_link_blank_03.gif) no-repeat 0 0;
  width: 11px;
  height: 11px;
}

.work_buy_main .campaign_info p span.limit {
  display: inline-block;
  border-radius: 8px;
  padding: 0 10px;
  height: 18px;
  line-height: 18px;
  background: #fff;
  font-size: 12px;
  color: #a45100;
  text-shadow: none;
  margin-bottom: 3px;
}

/* ボタン
--------------------------------------------------------- */
#work_buy_btn {
  padding: 0 10px;
  text-align: center;
}

#work_buy_btn p.message_cart_in {
  position: relative;
  display: inline-block;
  min-width: 140px;
  padding: 5px 10px;
  margin: 0 5px;
  border: 2px solid #f1963c;
  border-radius: 3px;
  background: #fff;
  color: #f17700;
  font-size: 11px;
  text-align: center;
  white-space: nowrap;
}

#work_buy_btn p.message_cart_in:before,
#work_buy_btn p.message_cart_in:after {
  position: absolute;
  top: 100%;
  left: 50%;
  height: 0;
  width: 0;
  border: solid transparent;
  border-width: 6px;
  content: "";
}

#work_buy_btn p.message_cart_in:before {
  border-top-color: #f1963c;
  margin-left: -6px;
}

#work_buy_btn p.message_cart_in span {
  font-weight: bold;
  padding-right: 3px;
}

#work_buy_btn p.message_cart_in:after {
  border-top-color: #fff;
  margin: -2px 0 0 -6px;
}

#work_buy_btn p.work_cart,
#work_buy_btn p.work_stream,
#work_buy_btn p.work_favorite {
  width: 100%;
  height: 36px;
  text-indent: 0;
  transition: all 0.4s ease-in;
}

#work_buy_btn p.work_cart:first-child,
#work_buy_btn p.work_stream:first-child,
#work_buy_btn p.work_favorite:first-child {
  margin: 0 auto;
}

#work_buy_btn p.work_cart:not(:first-child),
#work_buy_btn p.work_stream:not(:first-child),
#work_buy_btn p.work_favorite:not(:first-child) {
  margin: 8px auto 0;
}

#work_buy_btn p.work_cart a,
#work_buy_btn p.work_stream a,
#work_buy_btn p.work_favorite a {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 4px;
  border: solid 1px #c00;
  box-sizing: border-box;
  text-align: center;
  color: #fff;
  font-size: 14px;
  line-height: 34px;
}

#work_buy_btn p.work_cart a:hover,
#work_buy_btn p.work_stream a:hover,
#work_buy_btn p.work_favorite a:hover {
  text-decoration: none;
}

#right #work_buy_btn p.work_cart a:hover,
#right #work_buy_btn p.work_stream a:hover,
#right #work_buy_btn p.work_favorite a:hover {
  text-decoration: none;
}

#work_buy_btn p.work_cart a:before,
#work_buy_btn p.work_stream a:before,
#work_buy_btn p.work_favorite a:before {
  display: inline-block;
  margin-right: 8px;
  font-family: "dlsite-icons";
  font-size: 15px;
  vertical-align: middle;
}

#work_buy_btn p.work_cart a:after,
#work_buy_btn p.work_stream a:after,
#work_buy_btn p.work_favorite a:after {
  display: none;
}

#work_buy_btn p.work_cart a[class*="_in"],
#work_buy_btn p.work_stream a[class*="_in"],
#work_buy_btn p.work_favorite a[class*="_in"] {
  font-size: 13px;
}

#work_buy_btn p.work_cart a.btn_cart {
  font-size: 16px;
  background: #cc2936;
  background: -webkit-linear-gradient(top, #e6505d 0%, #cc2936 100%);
  background: linear-gradient(to bottom, #e6505d 0%, #cc2936 100%);
  border-color: #b32430;
}

#work_buy_btn p.work_cart a.btn_cart:hover {
  background: #b72531;
  background: -webkit-linear-gradient(top, #e23a48 0%, #b72531 100%);
  background: linear-gradient(to bottom, #e23a48 0%, #b72531 100%);
  border-color: #9d1f2a;
}

#work_buy_btn p.work_cart a.btn_cart:before {
  content: "\e900";
}

#work_buy_btn p.work_cart a.btn_cart_in {
  font-size: 15px;
  background: #cc525c;
  background: -webkit-linear-gradient(top, #d95762 0%, #cc525c 100%);
  background: linear-gradient(to bottom, #d95762 0%, #cc525c 100%);
  border-color: #b34750;
  color: #f29199;
}

#work_buy_btn p.work_cart a.btn_cart_in:hover {
  background: #c63e49;
  background: -webkit-linear-gradient(top, #d4424e 0%, #c63e49 100%);
  background: linear-gradient(to bottom, #d4424e 0%, #c63e49 100%);
  border-color: #a04048;
}

#work_buy_btn p.work_cart a.btn_cart_in:before {
  content: "\e900";
}

#work_buy_btn p.work_cart a.btn_dl {
  background: #734dbf;
  background: -webkit-linear-gradient(top, #9877d9 0%, #734dbf 100%);
  background: linear-gradient(to bottom, #9877d9 0%, #734dbf 100%);
  border-color: #6342a6;
}

#work_buy_btn p.work_cart a.btn_dl:hover {
  background: #6640b3;
  background: -webkit-linear-gradient(top, #8963d3 0%, #6640b3 100%);
  background: linear-gradient(to bottom, #8963d3 0%, #6640b3 100%);
  border-color: #593b94;
}

#work_buy_btn p.work_cart a.btn_dl:before {
  content: "\e901";
}

#work_buy_btn p.work_stream a.btn_st {
  background: #39a9bf;
  background: -webkit-linear-gradient(top, #62c5d9 0%, #39a9bf 100%);
  background: linear-gradient(to bottom, #62c5d9 0%, #39a9bf 100%);
  border-color: #3292a6;
}

#work_buy_btn p.work_stream a.btn_st:hover {
  background: #3398ac;
  background: -webkit-linear-gradient(top, #4dbdd4 0%, #3398ac 100%);
  background: linear-gradient(to bottom, #4dbdd4 0%, #3398ac 100%);
  border-color: #2c8192;
}

#work_buy_btn p.work_stream a.btn_st:before {
  content: "\e904";
}

#work_buy_btn p.work_favorite {
  height: 30px;
}

#work_buy_btn p.work_favorite a {
  line-height: 28px;
  font-size: 13px;
}

#work_buy_btn p.work_favorite a:before {
  font-size: 13px;
}

#work_buy_btn p.work_favorite a.btn_favorite {
  background: #ddd;
  background: -webkit-linear-gradient(top, #f7f7f7 0%, #ddd 100%);
  background: linear-gradient(to bottom, #f7f7f7 0%, #ddd 100%);
  border-color: #aaa;
  color: #333;
}

#work_buy_btn p.work_favorite a.btn_favorite:hover {
  background: #d0d0d0;
  background: -webkit-linear-gradient(top, #eaeaea 0%, #d0d0d0 100%);
  background: linear-gradient(to bottom, #eaeaea 0%, #d0d0d0 100%);
  border-color: #9d9d9d;
}

#work_buy_btn p.work_favorite a.btn_favorite::before {
  content: "\e902";
}

#work_buy_btn p.work_favorite a.btn_favorite_in {
  background: #ccc;
  background: -webkit-linear-gradient(top, #ddd 0%, #ccc 100%);
  background: linear-gradient(to bottom, #ddd 0%, #ccc 100%);
  border-color: #aaa;
  color: #888;
  font-size: 12px;
}

#work_buy_btn p.work_favorite a.btn_favorite_in:hover {
  background: #bfbfbf;
  background: -webkit-linear-gradient(top, #d0d0d0 0%, #bfbfbf 100%);
  background: linear-gradient(to bottom, #d0d0d0 0%, #bfbfbf 100%);
  border-color: #9d9d9d;
}

#work_buy_btn p.work_favorite a.btn_favorite_in::before {
  content: "\e903";
}

/* ----- 販売前メッセージ ----- */
#work_buy_btn .pre_work_message {
  padding: 5px 8px;
  background: #fff9d9;
  border: 1px solid #e58600;
  border-radius: 3px;
  text-align: center;
}

#work_buy_btn .pre_work_message .title {
  font-size: 13px;
  font-weight: bold;
  display: block;
  text-align: center;
  color: #e58600;
  margin-bottom: 4px;
}

#work_buy_btn .pre_work_message .date {
  font-size: 15px;
  font-weight: bold;
  display: block;
  text-align: center;
  margin-bottom: 4px;
}

#work_buy_btn .pre_work_message .date i {
  font-style: normal;
  font-size: 12px;
  display: block;
}

#work_buy_btn .pre_work_message .note {
  font-size: 12px;
  display: inline-block;
  margin: 0 auto;
  text-align: left;
  text-indent: -1em;
  padding-left: 1em;
  line-height: 1.3;
  color: #666;
}

/* ----- 販売終了 ----- */
p.work_sales_end {
  width: 100%;
  height: 30px;
  margin: 4px auto 8px;
  background: #5c7099;
  color: #fff;
  font-weight: bold;
  font-size: 16px;
  text-align: center;
  line-height: 30px;
  border-radius: 15px;
}

/* ----- 既に持っています ----- */
p.work_already {
  height: 20px;
  border-radius: 2px;
  border: solid 1px #bf8000;
  margin: 0 auto 6px;
  padding: 0 10px;
  background: #ffdf7e;
  color: #bf8000;
  line-height: 20px;
  text-indent: 0;
  text-align: center;
}

p.work_already:before {
  display: inline-block;
  margin-right: 5px;
  font-family: "FontAwesome";
  font-size: 14px;
  vertical-align: middle;
  content: "\f071";
}

/* 予告
--------------------------------------------------------- */
p#work_date_ana {
  color: #333;
  font-size: 12px;
  line-height: 1.6;
  padding: 0 0 3px;
  text-align: center;
}

p#work_date_ana strong {
  color: #930;
  font-size: 14px;
}

div.favorite_ana {
  color: #333;
  font-size: 12px;
  text-align: center;
  line-height: 1.4;
  padding: 10px;
  background: #fff;
  margin: 5px;
  border: 1px solid #b8c3d9;
  border-radius: 4px;
}

div.favorite_ana p.text {
  padding: 0;
  font-size: 11px;
}

div.favorite_ana p.infomail_mail_title {
  padding: 3px 0 3px 5px;
  font-size: 11px;
}

.right_guide_ana_list {
  margin: 10px 0 0;
}

.right_guide_ana_list li {
  text-align: left;
  padding-left: 13px;
  margin: 8px 0 0;
  background: url(../images/web/home/icon_more.png) no-repeat 0 2px;
  line-height: 1.3;
}

/* クーポンなどの特典表示
--------------------------------------------------------- */
#work_privilege_guide {
  padding: 10px 5px;
  border-top: 1px solid #b8c3d9;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) inset;
  text-align: center;
}

.work_privilege_guide_inner ul {
  border: 1px solid #b8c3d9;
  border-radius: 4px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  background: #fff;
}

.work_privilege_guide_inner ul li {
  padding: 8px;
  font-size: 11px;
}

.work_privilege_guide_inner ul li:not(:first-child) {
  border-top: dotted 1px #b8c3d9;
}

.work_privilege_guide_inner ul li .label {
  position: relative;
  margin-bottom: 6px;
  padding-left: 22px;
  font-size: 14px;
  line-height: 1.2;
  font-weight: bold;
  word-break: break-all;
  color: #ff5f96;
}

.work_privilege_guide_inner ul li .label::before {
  display: block;
  position: absolute;
  left: 0;
  font-family: "dlsite-icons";
  font-size: 16px;
  vertical-align: text-top;
  font-weight: normal;
  content: "\e909";
}

.work_privilege_guide_inner ul li .label.bonus_code::before {
  content: "\e909";
  top: -1px;
}

.work_privilege_guide_inner ul li .label.coupon::before {
  content: "\e912";
  font-size: 18px;
  top: -2px;
}

.work_privilege_guide_inner ul li .label.type_work {
  color: #ff5f96;
}

.work_privilege_guide_inner ul li .label.type_maker {
  color: #8d41d9;
}

.work_privilege_guide_inner ul li .label.type_price {
  color: #f90;
}

.work_privilege_guide_inner ul li .period {
  font-size: 11px;
  margin-bottom: 4px;
  color: #4d628c;
  font-weight: bold;
}

.work_privilege_guide_inner ul li .period::before {
  display: inline-block;
  margin-right: 4px;
  font-weight: normal;
  content: "Offered until ";
}

.work_privilege_guide_inner ul li .body {
  font-size: 12px;
  line-height: 1.3;
  word-break: break-all;
}

/* 閲覧可能な環境
--------------------------------------------------------- */
#work_device_guide {
  position: relative;
  padding: 10px 5px;
  border-top: 1px solid #b8c3d9;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) inset;
}

#work_device_guide > table {
  table-layout: fixed;
  width: 100%;
}

#work_device_guide > table th,
#work_device_guide > table td {
  font-size: 12px;
  border: solid 1px #637599;
}

#work_device_guide > table thead th {
  padding: 3px 0;
  background: #637599;
  color: #fff;
  text-align: center;
  vertical-align: middle;
  font-size: 12px;
}

#work_device_guide > table thead th:not(:last-child) {
  border-right: solid 1px #b8c3d9;
}

#work_device_guide > table thead th.dev {
  width: 62px;
  padding: 0;
}

#work_device_guide > table thead th.dl span {
  display: inline-block;
  white-space: nowrap;
  font-size: 12px;
}

#work_device_guide > table thead th.st span {
  display: inline-block;
  white-space: nowrap;
  font-size: 12px;
  vertical-align: baseline;
}

#work_device_guide > table.current_os {
  margin-top: 10px;
}

#work_device_guide > table.current_os thead th {
  padding: 4px 0;
}

#work_device_guide > table.current_os tbody td {
  padding: 6px 4px;
}

#work_device_guide > table tbody td {
  padding: 2px 0;
  color: #536280;
  text-align: center;
  vertical-align: middle;
  background: #fff;
  line-height: 1.5;
}

#work_device_guide > table tbody td.label {
  background: #e6eaf2;
}

#work_device_guide > table tbody td span {
  display: block;
  padding: 4px 0;
  text-align: center;
}

#work_device_guide > table tbody td span::before {
  display: inline-block;
  box-sizing: border-box;
  content: "";
}

#work_device_guide > table tbody td span.dev_play::before {
  width: 14px;
  height: 14px;
  font-family: 'dlsite-icons';
  line-height: 1;
  font-size: 14px;
  text-align: center;
  content: "\e91a";
}

#work_device_guide > table tbody td span.dev_play_no::before {
  width: 10px;
  height: 0;
  padding-top: 6px;
  margin-top: 6px;
  border-top: solid 1px #637599;
}

#work_device_guide > table tbody td span.dev_play_tbd::before {
  text-align: center;
  font-size: 11px;
  content: "\3f";
}

#work_device_guide .os_popup {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  z-index: 100;
  bottom: 35px;
  right: 5px;
  width: 400px;
  border-radius: 4px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
  background: #fff;
  -webkit-transform: translateY(10px);
      -ms-transform: translateY(10px);
          transform: translateY(10px);
  -webkit-transition: all 0.15s ease;
  transition: all 0.15s ease;
}

#work_device_guide .os_popup.active {
  visibility: visible;
  opacity: 1;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
}

#work_device_guide .os_popup .os_popup_header {
  background: #637599;
  color: #fff;
  padding: 6px 15px;
  border-radius: 4px 4px 0 0;
  font-size: 15px;
}

#work_device_guide .os_popup table {
  table-layout: fixed;
  width: 100%;
}

#work_device_guide .os_popup td {
  border: solid 1px #b8c3d9;
  border-top: none;
  font-size: 13px;
  vertical-align: middle;
}

#work_device_guide .os_popup td:not(:first-child) {
  padding: 10px;
  background: #fff;
  color: #536280;
}

#work_device_guide .os_popup td:first-child {
  width: 70px;
  padding: 5px 0 5px 10px;
  background: #e6eaf2;
  color: #4d628c;
}

/* パックの小作品詳細ページに表示する親パックリスト
--------------------------------------------------------- */
#work_pack_guide {
  padding: 10px 5px;
  border-top: 1px solid #b8c3d9;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) inset;
  text-align: center;
}

.work_pack_guide_inner ul {
  border: 1px solid #b8c3d9;
  border-radius: 4px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  background: #fff;
}

.work_pack_guide_inner ul li {
  padding: 8px;
  font-size: 12px;
  line-height: 1.3;
}

.work_pack_guide_inner ul li:not(:first-child) {
  border-top: dotted 1px #b8c3d9;
}

.work_pack_guide_inner dl dt {
  display: table-cell;
}

.work_pack_guide_inner dl dd {
  display: table-cell;
  vertical-align: top;
  padding-left: 8px;
}

.work_pack_guide_inner dl dd .work_price {
  margin-top: 5px;
}

.work_pack_guide_inner .price {
  display: inline-block;
  color: #c00;
  font-size: 12px;
}

.work_pack_guide_inner .work_estimation {
  display: block;
  padding: 0;
  font-size: 12px;
  font-weight: normal;
  font-style: normal;
}

.work_pack_guide_inner .work_jpy {
  display: block;
  padding: 0;
  font-size: 12px;
  font-weight: normal;
  color: #333;
  font-style: normal;
}

/* その他
--------------------------------------------------------- */
/* ----- 境界線付きタイトル ----- */
.separate_title {
  position: relative;
  text-align: center;
  margin: 0 3px 5px;
}

.separate_title > span {
  display: inline-block;
  position: relative;
  padding: 0 10px;
  background: #e6eaf2;
  color: #4d628c;
  font-size: 14px;
  font-weight: bold;
}

.separate_title::before {
  display: block;
  position: absolute;
  top: 50%;
  width: 100%;
  border-top: solid 1px #637599;
  content: "";
}

/* ----- 購入ガイド ----- */
.work_buy_guide {
  border-top: 1px solid #b8c3d9;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) inset;
  padding: 10px;
}

.guide_list {
  font-size: 12px;
}

.guide_list > li {
  font-weight: bold;
  color: #4d628c;
}

.guide_list > li:not(:first-child) {
  margin-top: 5px;
}

.guide_list > li a {
  display: inline-block;
  padding: 0 0 0 15px;
  font-weight: normal;
  background: url(../images/web/home/icon_more.png) left center no-repeat;
}

.type_affiliate > .guide_list > li {
  text-align: center;
}

:not(.work_buy_guide) > .guide_list {
  padding: 8px 8px 0;
  text-align: right;
}

:not(.work_buy_guide) > .guide_list > li {
  text-align: right;
}

.guide_list .inner_list {
  margin-top: 8px;
}

.type_affiliate .guide_list .inner_list {
  text-align: center;
}

.type_affiliate .guide_list .inner_list > li {
  display: inline-block;
}

.type_affiliate .guide_list .inner_list > li:not(:first-child) {
  margin-left: 10px;
}

/* ----- 固定カートボタン ----- */
.floating_cart_box {
  visibility: hidden;
  opacity: 0;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1000;
  width: 270px;
  box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.3);
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  /* ----- カートボタン ----- */
  /* ----- お気に入りボタン ----- */
}

.floating_cart_box .cart_box_header {
  position: relative;
  z-index: 1000;
  padding: 0 10px;
  color: #4d628c;
  font-weight: bold;
  font-size: 13px;
  height: 32px;
  line-height: 32px;
  border-style: solid;
  border-width: 0 1px 3px;
  border-color: transparent #b8c3d9 #8f9fbf;
  background: #f5f6fa;
  background: -webkit-linear-gradient(top, #fff 0%, #f1f3f8 49%, #f4f6f9 50%, #f5f6fa 100%);
  background: linear-gradient(to bottom, #fff 0%, #f1f3f8 49%, #f4f6f9 50%, #f5f6fa 100%);
  cursor: pointer;
}

.floating_cart_box .cart_box_body {
  position: absolute;
  top: 35px;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  width: 100%;
  padding: 5px;
  border-radius: 0 0 5px 5px;
  border: 1px solid #b8c3d9;
  box-sizing: border-box;
  box-shadow: none;
  background: #e6eaf2;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.floating_cart_box .cart_box_body_inner {
  border: 1px solid #b8c3d9;
  border-radius: 4px;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  padding: 10px;
  background: #fff;
}

.floating_cart_box .cart_box_body_inner:after {
  display: block;
  clear: both;
  content: "";
}

.floating_cart_box .hide {
  overflow: hidden;
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 16px;
  height: 0;
  padding-top: 16px;
  border-radius: 2px;
  background: #637599;
  cursor: pointer;
}

.floating_cart_box .hide::before {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transform: scale(0.8);
      -ms-transform: scale(0.8);
          transform: scale(0.8);
  width: 100%;
  height: 100%;
  color: #fff;
  font-size: 21px;
  text-align: center;
  line-height: 16px;
  font-family: "dlsite-icons";
  content: "\e910";
}

.floating_cart_box.active {
  visibility: visible;
  opacity: 1;
}

.floating_cart_box.active .cart_box_body {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  box-shadow: 1px 1px 6px rgba(0, 0, 0, 0.3);
}

.floating_cart_box.hide .cart_box_body {
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  box-shadow: none;
}

.floating_cart_box.hide .hide::before {
  content: "\e90f";
}

.floating_cart_box .work_thumb {
  float: left;
  display: table-cell;
  position: relative;
  width: 80px;
  margin: 0;
  background: #eee;
}

.floating_cart_box .work_thumb img {
  width: auto;
  max-width: 80px;
  height: auto;
  max-height: 80px;
}

.floating_cart_box .work_buy_label {
  display: table-cell;
  position: relative;
  color: #637599;
  font-size: 12px;
  font-weight: bold;
  vertical-align: top;
  white-space: nowrap;
  line-height: 1.2;
}

.work_ana .floating_cart_box .work_buy_label {
  display: block;
  text-align: center;
}

.floating_cart_box .work_buy_content {
  display: table-cell;
  width: 100%;
  text-align: right;
}

.work_ana .floating_cart_box .work_buy_content {
  display: block;
  padding: 5px 0 0;
  text-align: center;
}

.floating_cart_box .price {
  display: inline-block;
  color: #c00;
  font-size: 16px;
  font-weight: bold;
}

/* レンタルあり */
.floating_cart_box .cart_box_type {
  margin-left: 90px;
  padding: 3px 0;
  border-bottom: 1px dotted #b8c3d9;
  cursor: pointer;
}

.floating_cart_box .cart_box_type.select {
  background: #fff9d9;
}

.floating_cart_box .cart_box_type.disabled {
  background: #fafafa;
  cursor: default;
}

.floating_cart_box .cart_box_type.not_select {
  border-bottom: none;
  cursor: default;
}

.floating_cart_box input[type="radio"] {
  display: none;
}

.floating_cart_box input[type="radio"] + label {
  font-size: 13px;
  font-weight: bold;
  color: #333;
  position: relative;
  margin-left: 3px;
}

.floating_cart_box input[type="radio"]:checked + label { color: #e58600; }
.floating_cart_box input[type="radio"]:disabled + label { color: #999; cursor: default; }

.floating_cart_box input[type="radio"] + label::before {
  display: inline-block;
  content: "";
  height: 14px;
  width: 14px;
  border: 1px solid #9d9d9d;
  border-radius: 50%;
  background: #fff;
  vertical-align: middle;
  margin-right: 5px;
}

.floating_cart_box input[type="radio"] + label::after {
  position: absolute;
  display: block;
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  left: 4px;
  top: 50%;
  margin-top: -4px;
}

.floating_cart_box input[type="radio"]:checked + label::after {
  background: #e58600;
}

.floating_cart_box input[type="radio"]:disabled + label::before {
  border: 1px solid #ccc;
}

.floating_cart_box .work_buy_label.rental_period {
  font-size: 12px;
  font-weight: normal;
  color: #666;
}

.floating_cart_box .cart_box_type.disabled .rental_period {
  color: #999;
}

.floating_cart_box .label_static {
  font-size: 13px;
  font-weight: bold;
}

.floating_cart_box .cart_box_type .work_buy_body {
  margin-left: 0;
}

.floating_cart_box .cart_box_type .work_price {
  text-align: right;
  padding-right: 5px;
}

.floating_cart_box .cart_box_type.disabled .work_price {
  color: #999;
}

.floating_cart_box .cart_box_type .work_price > span:not(.gray) {
  font-weight: bold;
}

/* ボタン */
.floating_cart_box .work_buy_body {
  margin-left: 90px;
}

.floating_cart_box .work_buy_body i {
  padding-left: 3px;
  font-size: 0.9em;
  font-style: normal;
}

.floating_cart_box .work_buy_body i.work_estimation {
  display: block;
  padding: 0 0 3px;
  font-size: 12px;
  font-weight: normal;
}

.floating_cart_box .work_buy_body i.work_jpy {
  display: block;
  padding: 0 0 3px;
  font-size: 12px;
  font-weight: normal;
  color: #333;
}

.floating_cart_box .work_point {
  font-size: 13px;
}

.floating_cart_box .btn_wrap {
  margin: 8px 0 0 90px;
}

.floating_cart_box p.work_cart,
.floating_cart_box p.work_favorite {
  display: inline-block;
  vertical-align: top;
  width: 110px;
  height: 26px;
  margin: 0;
}

.floating_cart_box p.work_cart a,
.floating_cart_box p.work_favorite a {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 3px;
  border: solid 1px #c00;
  box-sizing: border-box;
  text-align: center;
  color: #fff;
  font-size: 12px;
  line-height: 24px;
}

.floating_cart_box p.work_cart a:hover,
.floating_cart_box p.work_favorite a:hover {
  text-decoration: none;
}

#right .floating_cart_box p.work_cart a:hover,
#right .floating_cart_box p.work_favorite a:hover {
  text-decoration: none;
}

.floating_cart_box p.work_cart a::before,
.floating_cart_box p.work_favorite a::before {
  display: inline-block;
  margin-right: 8px;
  font-family: "dlsite-icons";
  font-size: 12px;
  vertical-align: middle;
}

.floating_cart_box p.work_cart a.btn_cart {
  background: #cc2936;
  background: -webkit-linear-gradient(top, #e6505d 0%, #cc2936 100%);
  background: linear-gradient(to bottom, #e6505d 0%, #cc2936 100%);
  border-color: #b32430;
}

.floating_cart_box p.work_cart a.btn_cart:hover {
  background: #b72531;
  background: -webkit-linear-gradient(top, #e23a48 0%, #b72531 100%);
  background: linear-gradient(to bottom, #e23a48 0%, #b72531 100%);
  border-color: #9d1f2a;
}

.floating_cart_box p.work_cart a.btn_cart::before {
  content: "\e900";
}

.floating_cart_box p.work_cart a.btn_cart:after {
  display: none;
}

.floating_cart_box p.work_cart a.btn_cart_in {
  background: #cc525c;
  background: -webkit-linear-gradient(top, #d95762 0%, #cc525c 100%);
  background: linear-gradient(to bottom, #d95762 0%, #cc525c 100%);
  border-color: #b34750;
  color: #f2c2c6;
  font-size: 0;
}

.floating_cart_box p.work_cart a.btn_cart_in:hover {
  background: #c63e49;
  background: -webkit-linear-gradient(top, #d4424e 0%, #c63e49 100%);
  background: linear-gradient(to bottom, #d4424e 0%, #c63e49 100%);
  border-color: #a04048;
}

.floating_cart_box p.work_cart a.btn_cart_in::before {
  content: "\e900";
}

.floating_cart_box p.work_cart a.btn_cart_in:after {
  content: "Added";
}

.floating_cart_box p.work_favorite {
  width: 30px;
}

.floating_cart_box p.work_favorite a {
  font-size: 0;
}

.floating_cart_box p.work_favorite a:after {
  display: none;
}

.floating_cart_box p.work_favorite a.btn_favorite {
  background: #ddd;
  background: -webkit-linear-gradient(top, #f7f7f7 0%, #ddd 100%);
  background: linear-gradient(to bottom, #f7f7f7 0%, #ddd 100%);
  border-color: #aaa;
  color: #333;
}

.floating_cart_box p.work_favorite a.btn_favorite:hover {
  background: #d0d0d0;
  background: -webkit-linear-gradient(top, #eaeaea 0%, #d0d0d0 100%);
  background: linear-gradient(to bottom, #eaeaea 0%, #d0d0d0 100%);
  border-color: #9d9d9d;
}

.floating_cart_box p.work_favorite a.btn_favorite::before {
  content: "\e902";
}

.floating_cart_box p.work_favorite a.btn_favorite_in {
  background: #ccc;
  background: -webkit-linear-gradient(top, #ddd 0%, #ccc 100%);
  background: linear-gradient(to bottom, #ddd 0%, #ccc 100%);
  border-color: #aaa;
  color: #888;
}

.floating_cart_box p.work_favorite a.btn_favorite_in:hover {
  background: #bfbfbf;
  background: -webkit-linear-gradient(top, #d0d0d0 0%, #bfbfbf 100%);
  background: linear-gradient(to bottom, #d0d0d0 0%, #bfbfbf 100%);
  border-color: #9d9d9d;
}

.floating_cart_box p.work_favorite a.btn_favorite_in::before {
  content: "\e903";
}

.floating_cart_box p.work_favorite a::before {
  margin-right: 0;
}

/* =========================================================
  作品詳細：カスタムパーツ
========================================================= */
h2.work_lead,
h3.work_lead {
  clear: both;
  height: 30px;
  line-height: 28px;
  margin: 24px 0 12px;
  background: url(../images/web/home/bg_line_01.gif) left bottom repeat-x;
}

h2.work_lead span,
h3.work_lead span {
  float: left;
  color: #536280;
  font-size: 14px;
  font-weight: bold;
  padding: 0 0 0 19px;
  background: url(../images/web/home/icon_title_arrow.gif) 0 6px no-repeat;
}

/* ----- タイトル ----- */
div.title_01 {
  padding-bottom: 4px;
  margin-bottom: 15px;
}

div.title_01 h2,
div.title_01 h3 {
  font-size: 18px;
  font-weight: normal;
  padding: 0;
  background: none;
}

div.title_01_br {
  padding-bottom: 8px;
  margin-bottom: 15px;
}

div.title_01_br h2,
div.title_01_br h3 {
  font-size: 18px;
  font-weight: normal;
  padding: 0;
  background: none;
}

div.work_article {
  font-size: 12px;
  padding: 0 15px 30px;
}

/* サークルキャンペーン
--------------------------------------------------------- */
div#work_campaign p {
  font-size: 12px;
  line-height: 1.6;
}

div#work_campaign p.campaign_bn {
  float: left;
  width: 250px;
}

div#work_campaign div.campaign_text {
  margin-left: 250px;
  padding-left: 12px;
}

div#work_campaign p.link {
  font-size: 14px;
  font-weight: bold;
  padding-left: 12px;
  margin-top: 10px;
  background: url(../images/web/abroad/icon_arrow_eng.png) no-repeat left 6px;
}

/* CG一覧
--------------------------------------------------------- */
#work_eventcg img {
  margin: 3px;
  border-top: 1px solid #999;
  border-left: 1px solid #999;
  border-bottom: 2px solid #999;
  border-right: 3px solid #999;
}

/* トラックリスト
--------------------------------------------------------- */
ol.work_tracklist_list {
  font-size: 12px;
  width: 100%;
  line-height: 1.4;
}

ol.work_tracklist_list li {
  padding: 6px 6px 6px 12px;
}

ol.work_tracklist_list p.track_name {
  width: 240px;
  float: left;
}

ol.work_tracklist_list p.track_text {
  margin-left: 240px;
}

ol.work_tracklist_list li.list_color {
  background-color: #ededed;
}

ol.work_tracklist_list span.track_number {
  padding-right: 5px;
}

/* 1行紹介リスト
--------------------------------------------------------- */
ul.work_infolist_list {
  font-size: 12px;
  line-height: 1.4;
}

ul.work_infolist_list li {
  padding: 6px 6px 6px 12px;
  border-bottom: 1px solid #434343;
}

/* 作品内容（基本情報）
--------------------------------------------------------- */
.chobit_player {
  margin: 15px 0;
}

/* 作品内容
--------------------------------------------------------- */
div.work_story2 {
  font-size: 12px;
  line-height: 1.4;
  padding-top: 5px;
  padding-left: 15px;
  padding-right: 15px;
}

/* キャラクター紹介
--------------------------------------------------------- */
div.work_character {
  margin-bottom: -18px;
}

div.work_character table {
  width: 100%;
  table-layout: fixed;
  line-height: 1.5;
}

div.work_character td {
  width: 50%;
  vertical-align: top;
}

div.work_character div.chara_image {
  margin: 0 10px 5px 0;
  float: left;
}

div.work_character div.chara_text {
  font-size: 12px;
  padding: 0 12px 18px 0;
}

div.work_character p.character_name {
  font-weight: bold;
  font-size: 14px;
  padding-bottom: 5px;
}

/* 1枚画像説明
--------------------------------------------------------- */
div.work_primage1 dl.primage1_layout_right dt {
  float: right;
  margin-left: 12px;
}

div.work_primage1 dl.primage1_layout_left dt {
  float: left;
  margin-right: 12px;
}

div.work_primage1 dl.primage1_layout_top dt {
  margin-bottom: 12px;
}

div.work_primage1 dl.primage1_layout_bottom dt {
  margin-bottom: 12px;
}

div.work_primage1 dt,
div.work_primage1 dd {
  line-height: 1.5;
}

/* 複数画像説明
--------------------------------------------------------- */
.work_primage_multi {
  margin-bottom: -18px;
}

.work_primage_multi table {
  width: 100%;
  line-height: 1.5;
  table-layout: fixed;
}

.work_primage_multi div.multi_image {
  margin: 0 10px 5px 0;
  float: left;
}

.work_primage_multi div.multi_text {
  padding: 0 12px 18px 0;
}

.work_primage_multi td {
  width: 50%;
  vertical-align: top;
}

/* テキストなし */
.work_primage_multi.image_only table {
  width: auto;
}

.work_primage_multi.image_only td {
  width: auto;
}

.work_primage_multi.image_only div.multi_image img {
  width: 100%;
}

/* 動作環境
--------------------------------------------------------- */
dl.work_spec_list {
  font-size: 12px;
  width: 765px;
  border: 1px solid #cfd6e5;
  border-top: none;
  background-color: #f0f2f7;
  line-height: 1.3;
}

dl.work_spec_list dt {
  width: 130px;
  float: left;
  clear: both;
  padding: 5px 5px 5px 9px;
  border-top: 1px solid #cfd6e5;
}

dl.work_spec_list dd {
  padding: 5px 5px 5px 9px;
  margin-left: 145px;
  border-top: 1px solid #cfd6e5;
  border-left: 1px solid #cfd6e5;
  background-color: #fff;
}

dl.work_spec_list dd.check {
  background: #ffebf0;
}

dl.work_spec_list dd.check strong {
  color: #f00;
}

/* バージョンアップ情報
--------------------------------------------------------- */
div.version_up ul {
  border-top: 1px solid #cfd6e5;
}

div.version_up ul li {
  padding: 12px 10px;
  overflow: hidden;
  border-bottom: 1px solid #cfd6e5;
}

div.version_up ul li.odd {
  background: #f0f2f7;
}

div.version_up ul li.even {
  background: #fff;
}

div.version_up dl dt {
  float: left;
  margin-right: -100px;
  line-height: 16px;
}

div.version_up dl dd {
  float: left;
  margin: 0 0 0 100px;
}

div.version_up dl dd span {
  display: inline-block;
  height: 16px;
  font-size: 11px;
  line-height: 18px;
  border-radius: 3px;
  padding: 0 4px;
  background: #607194;
  color: #fff;
  margin: 0 3px 0 0;
}

div.version_up dl dd.ver_up_comment {
  clear: both;
  width: 100%;
  float: none;
  margin: 0;
  padding: 10px 0 0;
  line-height: 1.5;
}

/* サークル作品情報 / 関連作品情報 / こちらの作品も購入されています
--------------------------------------------------------- */
table.work_other_list td {
  font-size: 12px;
  line-height: 1.3;
  padding: 0 12px;
  vertical-align: top;
}

/* サークル関連作品 */
#work_series_ana {
  padding: 0 0 0 12px;
}

#work_series_ana ul.list_head_arrow {
  font-size: 13px;
}

#work_series_ana ul.list_head_arrow li {
  padding: 0 0 6px 18px;
}

#work_series_ana span.new_work {
  color: #f99401;
  font-weight: bold;
  padding-right: 3px;
}

/* レコメンド回転
--------------------------------------------------------- */
.carousel_wrapper {
  padding: 6px;
  margin: 0 auto;
  border: 1px solid #434343;
  background: url(../images/web/abroad/bg_check_01.gif) repeat;
}

.carousel {
  padding: 12px;
  margin: 0 auto;
  background: #000;
  position: relative;
}

.next {
  width: 40px;
  position: absolute;
  top: 50px;
  right: 0;
  border: none;
  background: #000;
  z-index: 9;
}

.prev {
  width: 40px;
  position: absolute;
  top: 50px;
  left: 0;
  border: none;
  background: none;
  z-index: 10;
}

div.jCarouselLite {
  margin: 0 auto;
}

div.jCarouselLite ul {
  margin: 0 auto;
}

/* =========================================================
  右カラム構成
========================================================= */
div#right a:link {
  text-decoration: none;
}

div#right a:visited {
  text-decoration: none;
}

div#right a:hover {
  text-decoration: underline;
}

div.right_module {
  margin-bottom: 10px;
  width: 215px;
}

div.right_module h3 {
  color: #4d628c;
  font-weight: bold;
  font-size: 13px;
  height: 32px;
  line-height: 32px;
  border-style: solid;
  border-width: 1px 1px 3px;
  border-color: #8f9fbf;
  border-radius: 5px 5px 0 0;
  background: #f5f6fa;
  background: -webkit-linear-gradient(top, #fff 0%, #f1f3f8 49%, #f4f6f9 50%, #f5f6fa 100%);
  background: linear-gradient(to bottom, #fff 0%, #f1f3f8 49%, #f4f6f9 50%, #f5f6fa 100%);
}

div.right_module_content {
  border: 1px solid #8f9fbf;
  border-top: none;
  font-size: 12px;
  line-height: 1.2;
}

/* 同一サークル作品
--------------------------------------------------------- */
table.same_work,
table.ana_work {
  width: 100%;
}

table.same_work td.work_img,
table.ana_work td.work_img {
  padding: 6px 5px 6px 6px;
  border-bottom: 1px solid #cfd6e5;
  text-align: center;
  vertical-align: top;
  width: 50px;
}

table.same_work td.name,
table.ana_work td.name {
  vertical-align: top;
  padding: 5px 5px 5px 0;
  border-bottom: 1px solid #cfd6e5;
  word-break: break-all;
  word-wrap: break-word;
}

table.same_work span.work_name,
table.ana_work span.work_name {
  display: block;
}

table.same_work span.work_name a,
table.ana_work span.work_name a {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  -webkit-line-clamp: 2;
  font-size: 12px;
  line-height: 1.2;
  max-height: 28.8px;
}

table.same_work span.work_price,
table.ana_work span.work_price {
  display: block;
  margin-top: 5px;
  font-size: 12px;
}

table.same_work .price,
table.ana_work .price {
  display: inline-block;
  color: #c00;
  font-weight: normal;
  vertical-align: top;
}

table.same_work .work_estimation,
table.ana_work .work_estimation {
  display: block;
  padding: 0;
  font-size: 12px;
  font-weight: normal;
  font-style: normal;
}

table.same_work .work_jpy,
table.ana_work .work_jpy {
  display: block;
  padding: 0;
  font-size: 12px;
  font-weight: normal;
  color: #333;
  font-style: normal;
}

table.ana_work tr:last-child td {
  border: none;
}

/* シリーズ
--------------------------------------------------------- */
div.list_content {
  border-bottom: 1px dotted #79615f;
}

div#guide div.list_content {
  border: none;
}

div#guide div.list_head h4 {
  text-align: left;
}

ul.list_content_series {
  padding: 3px;
  z-index: 1;
  font-size: 12px;
  line-height: 1.5;
}

ul.list_content_series li {
  background: url(../images/web/home/icon_series.gif) left top no-repeat;
  padding-left: 20px;
  line-height: 1.3;
  word-break: break-all;
  word-wrap: break-word;
}

ul.list_content_series li:not(:first-child) {
  margin-top: 5px;
}

/* =========================================================
  サークル管理表示確認
========================================================= */
.webup_work_check_01 {
  background: #ededed;
  padding: 8px 15px;
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", Meiryo, メイリオ, sans-serif;
}

.webup_work_check_01 p {
  font-weight: bold;
  font-size: 18px;
  color: #2ca636;
}

.webup_work_check_02 {
  margin: 0 0 15px;
  background: #2ca636;
  padding: 8px 15px;
  clear: both;
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", Meiryo, メイリオ, sans-serif;
}

.webup_work_check_02 p {
  font-weight: bold;
  color: #fff;
  font-size: 14px;
}

.webup_work_check_02 p:before {
  content: "\25a0";
  padding-right: 3px;
  color: #ededed;
}

.work_preview_box {
  margin-bottom: 15px;
  padding: 0 15px;
}
